// pages/my/my.js
Page({
    /**
     * 页面的初始数据
     */
    data: {
        scrolling: false, // 用于标识是否滚动
        current: 0, // 当前滚动到的公告索引
        scrollTop: 0, // 初始化滚动位置
        scrollDuration: 3000, // 滚动间隔时间
        scrollHeight: 60, // 每个公告项的高度
        courseList1: [],//tuan
        courseList2:[],
        announcements: [
            '恭喜全国第401家门店开业！',
            '恭喜全国第402家门店开业！',
            '恭喜全国第403家门店开业！',
        ],
        dataList:null,
        selfList:null,
        product:{
            options:null,
            value:null
        },
        products: []
    },
     //获取私教的
  onTabsClick(event) {
    wx.request({
      url: 'http://localhost:8080/keep/elfishCourse/listToWx',
      method: 'GET',
      header: {
        'Authorization': getApp().globalData.authorization
      },
      success: (resp) => {
        const gymNames = resp.data.rows.map(item => item.fitnessGym && item.fitnessGym.gymName || '未知健身房名称');
        const gymIds = resp.data.rows.map(item => item.fitnessGym && item.fitnessGym.id || '');
        // 设置 product.value 为第一个 gymId
        const initialValue = gymIds.length > 0 ? gymIds[0] : '';
        // 创建一个符合组件期望格式的 options 数组，并去除重复的 gymId
        const uniqueGymIds = [...new Set(gymIds)];
        const options = uniqueGymIds.map((id, index) => ({
          value: id,
          label: gymNames[gymIds.indexOf(id)] // 获取对应 gymId 的 gymName
        }));
        var lists = resp.data.rows.slice(0,3);
        this.setData({
          selfList: lists,
          'product.options': options, // 将 options 数组设置为 product.options 的值
          'product.value': initialValue, // 设置 product.value 为第一个 gymId 或空字符串
        });
      }
    });
  },
     // 发送请求获取团课全部数据
  fetchAllData() {
    wx.request({
      url: 'http://localhost:8080/keep/teamClass/listToWx',
      method: 'GET',
      header: {
        'Authorization': getApp().globalData.authorization
      },
      success: (resp) => {
        const gymNames = resp.data.rows.map(item => item.fitnessGym.gymName);
        const gymIds = resp.data.rows.map(item => item.fitnessGym.id);
        // 设置 product.value 为第一个 gymId
        const initialValue = gymIds.length > 0 ? gymIds[0] : '';
        // 创建一个符合组件期望格式的 options 数组，并去除重复的 gymId
        const uniqueGymIds = [...new Set(gymIds)];
        const options = uniqueGymIds.map((id, index) => ({
          value: id,
          label: gymNames[gymIds.indexOf(id)] // 获取对应 gymId 的 gymName
        }));
        if ( resp.data.rows.length!=0) {
            resp.data.rows.slice(0,3)
        } 
        var list1=resp.data.rows.slice(0,3);
        var list2=resp.data.rows.slice(3);
        this.setData({
            courseList1:list1,
            courseList2:list2,
          dataList: resp.data.rows,
          'product.options': options, // 将 options 数组设置为 product.options 的值
          'product.value': initialValue, // 设置 product.value 为第一个 gymId 或空字符串
        });
      }
    });
  },
      //发送请求获取商品数据
  getShopBySort(){
    wx.request({
      url: 'http://localhost:8080/score/goods/list',
      header:{
        authorization: getApp().globalData.authorization
      },
      data:{
        goodsTypeId:1,
        goodsName:""
      },
      success:res=>{
          if (res.data.code==200&&res.data.rows.length!=null) {
            var shop = res.data.rows.map(item=>{
                item.goodsPicture=JSON.parse(item.goodsPicture)[0].url;
                return item;
            })
              this.setData({
                products:shop,
              })
          }
      }
    });
},
    handleScroll: function (e) {
        console.log('滚动位置：', e.detail.scrollTop);
    },
    /**
     * 轮播图变化事件处理函数
     */
    // 自动滚动函数
    startAutoScroll: function () {
        const that = this;
        const { announcements, scrollDuration, scrollHeight } = that.data;

        // 确保数据长度足够
        if (announcements.length > 1) {
            const autoScroll = () => {
                // 计算新的滚动位置
                const newScrollTop = ((that.data.scrollTop / scrollHeight) | 0) * scrollHeight;
                that.setData({
                    scrollTop: newScrollTop + scrollHeight
                });
            };

            // 首次滚动
            autoScroll();
            // 设置定时器自动切换
            that.data.scrollTimer = setInterval(autoScroll, scrollDuration);
            setInterval(() => {
                this.setData({
                    scrollTop: this.data.scrollTop + 1
                });
            }, 100);
        }
    },
    /**
     * 生命周期函数--监听页面加载
     */
    onLoad: function () {
        this.startAutoScroll();
        this.getShopBySort();
        this.fetchAllData();
        this.onTabsClick();
    },

    /**
     * 生命周期函数--监听页面初次渲染完成
     */

    onReady: function () {

    },

    /**
     * 生命周期函数--监听页面显示
     */

    onShow: function () {
        this.startAutoScroll();
        this.getShopBySort();
        this.fetchAllData();
        this.onTabsClick();
    },

    /**
     * 生命周期函数--监听页面隐藏
     */

    onHide: function () {

    },

    /**
     * 生命周期函数--监听页面卸载
     */

    onUnload: function () {
        clearInterval(this.data.scrollTimer);
    },

    /**
     * 页面相关事件处理函数--监听用户下拉动作
     */

    onPullDownRefresh: function () {

    },

    /**
     * 页面上拉触底事件的处理函数
     */

    onReachBottom: function () {
        wx.showToast({
          title: '暂时没有更多数据了',
          icon:'none'
        })
    },

    /**
     * 用户点击右上角分享
     */

    onShareAppMessage: function () {

    }
})